1. Field of the Invention
This invention relates to storing firmware in a medical treatment device, such as a drug infusion pump or an electrical nerve stimulator, that is implanted within a patient's body and downloading revisions and/or additions to the firmware without explanting the treatment device.
2. Background of the Invention
Devices and techniques for treating neurological disorders by drug infusion and by electrical stimulation of a person's central nervous system are well known in the prior art. For instance, U.S. Pat. No. 5,713,922 to King, U.S. Pat. No. 5,782,798 to Rise, and U.S. Pat. No. 5,814,014 to Elsberry et al., each assigned to Medtronic, Inc. of Minneapolis, Minnesota, disclose such devices and techniques and are incorporated herein by reference.
Such treatment devices and techniques often employ drug-infusion pumps and/or electrical pulse generators that are implanted within a patient's body. Accordingly, available memory for storing control software and operating parameters, also referred to as firmware, such as treatment dose, duration, and timing, of various treatment protocols is severely limited relative to the amount of memory typically available to systems that are not implanted within a person's body.
The of use random access memory ("RAM") and read only memory ("ROM") each have their advantages and disadvantages in the context of implantable medical treatment devices. With respect to accessing memory, ROM uses less energy and is therefore preferable to RAM for storing the firmware of an implantable medical treatment device because it increases the useful life of the device, thereby reducing the need for explanting a device due to a discharged battery. ROM, however, is less flexible to the extent that RAM can be modified, whereas ROM can not be modified without explanting the device. The flexibility provided by the capability to modify RAM also raises concerns about RAM-based code becoming unintentionally corrupted. ROM storage devices offer another advantage, namely, ROM devices typically require less area on an integrated circuit chip thereby advantageously reducing the size of the treatment device.
Making modifications to the software for controlling such treatment devices without explanting the devices is often desirable. For instance, modifications to the control software are desirable as new treatment modes are developed.
Optimization techniques for efficiently using the limited amount of available memory provided by an implantable treatment device have been addressed by certain prior art patents. For instance, U.S. Pat. No. 5,360,437 to Thompson discloses an implantable medical device having its control program or software stored in non-volatile random access memory ("RAM"). The non-volatile RAM can be re-programmed as desired using an external programmer and a telemetry link. U.S. pat. No. 5,456,691 to Snell discloses a system in which only certain physician-selected program modules are loaded into the implantable device's RAM. RAM requirements can be reduced by loading only a limited number of program modules into RAM. These approaches undesirably fail to take advantage of the benefits provided by maximizing the use of RAM.
U.S. Pat. No. 5,456,692 to Smith, Jr. et al. discloses an implantable pacemaker in which the control program is stored in read only memory ("ROM") or an equivalent non-volatile memory storage device. Control parameters, on the other hand, are stored in RAM, and may be programmably altered in order to allow the pacemaker to meet the potentially changing needs of a patient. A drawback to this approach, however, is that it is difficult to predict all of the parameters that may need to be modified in the future. For instance, the motor of an implantable drug-infusion pump is typically powered by a battery that outputs electrical pulses of varying characteristics as the battery voltage decreases. For instance, a filly charged battery could drive the pulses at a 10% duty cycle, while a substantially discharged battery's duty cycle could expand to close to 100%. If the developers of the control software for a drug infusion pump were unaware that changing the battery duty cycle characteristics would be desirable or necessary in the future, the related parameters would likely not be placed in RAM. If those parameters were placed in ROM, they could not be changed without explanting the pump.
Accordingly, in light of the significant memory power and size limitations and the safety concerns associated with storing control or operating software in an implantable medical device, there remains a need for an improved system and method providing a flexible arrangement that takes advantages of the benefits provided by the use of both ROM and RAM in the context of an implantable medical treatment device.